package com.empire.module.member.controller.admin.internetaccountfollow;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.empire.framework.mybatis.core.dataobject.BaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 互联网账号粉丝关系DO
 * 映射数据库表：member_internet_account_follow
 */
@TableName("member_internet_account_follow")
@Data
public class InternetAccountFollowDO {

    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 账号类型（字典主键ID）
     */
    private Long dictionaryId;

    /**
     * 关注者的唯一标识（关联 member_internet_account.user_gen_uuid）
     */
    private String followUserGenUuid;

    /**
     * 被关注者的唯一标识（关联 member_internet_account.user_gen_uuid）
     */
    private String followedUserGenUuid;

    /**
     * 关注者用户ID
     */
    private String userId;

    /**
     * 账号名（如：@idrisla56079731）
     */
    private String username;

    /**
     * 账号 murmurhash 值
     */
    private Long usernameId;

    /**
     * 昵称
     */
    private String nickname;

    /**
     * 用户网络地址
     */
    private String url;

    /**
     * 用户简介
     */
    private String description;

    /**
     * 电子邮件
     */
    private String email;

    /**
     * 头像URL
     */
    private String headPhotoUrl;

    /**
     * 头像（存储路径或Base64）
     */
    private String headPhoto;

    /**
     * 发文总量
     */
    private Integer articleCount;

    /**
     * 粉丝总量
     */
    private Integer fanCount;

    /**
     * 粉他人总量
     */
    private Integer fanOtherCount;

    /**
     * 关注者账号被赞总数
     */
    private Integer likedCount;

    /**
     * 账号赞他人总数
     */
    private Integer likeCount;

    /**
     * 地址
     */
    private String location;

    /**
     * 加入时间戳（秒）
     */
    private Long joinTime;

    /**
     * 采集时间戳（秒）
     */
    private Long collectTime;

    /**
     * 更新时间戳（秒）
     */
    private Long updateTime;

    /**
     * 部门ID
     */
    private Long createDeptId;

}
